# !/usr/bin/python
# -*-coding:utf-8 -*-
"""
@File    :   logger.py
@Create  :   2021/9/26 21:16
@Author  :   David
"""
import logging
import os

BASE_PATH = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
# 自定义项目日志存放路径
LOG_PATH = os.path.join(BASE_PATH, 'logs')
if not os.path.exists(LOG_PATH):
    os.makedirs(LOG_PATH)


class Logger:
    def __init__(self):
        self.logfile = os.path.join(LOG_PATH, 'test.log')
        # 返回具有指定名称的记录器，如果未指定名称，则返回作为层次结构的根记录器的记录器。
        self.logger = logging.getLogger()
        # 设置日志级别
        self.logger.setLevel(logging.DEBUG)
        # 设置日志输出格式
        self.fmt = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s - %(message)s')

        # 设置日志输出到文件的格式
        self.fh = logging.FileHandler(self.logfile, mode='a', encoding='UTF-8')
        self.fh.setLevel(logging.DEBUG)
        self.fh.setFormatter(self.fmt)

        # 设置日志输出到控制台的格式
        self.sh = logging.StreamHandler()
        self.sh.setLevel(logging.DEBUG)
        self.sh.setFormatter(self.fmt)

        self.logger.addHandler(self.fh)
        self.logger.addHandler(self.sh)


logger = Logger().logger
